package course.d1228;
/*
     实现线程的第二种方法
     实现Runnable接口
     Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定义一个称为 run 的无参数方法。
     类必须定义一个称为run的无参数方法
     查看API文档发现接口中只有一个run方法
     void run； 设置线程任务
     实现的步骤：
     1.定义一个类，实现Runnable接口，重写run方法，设置线程任务
     2.创建一个Thread类对象，把Runnable接口的实现类对象作为参数传递
     3.调用Thread类对象的start方法开启线程

     Thread类中的构造方法：
     1.public Thread(Runnable target)分配新的 Thread 对象。
     2.public Thread(ThreadGroup group,Runnable target)分配新的 Thread 对象。
     成员方法：
     public static void sleep(long millis)throws InterruptedException
     在指定的毫秒数内让当前正在执行的线程休眠（暂停执行），此操作受到系统计时器和调度程序精度和准确性的影响。该线程不丢失任何监视器的所属权。
 */
public class p1 {
    public static void main(String[] args) {

         Thread thread = new Thread(() -> {
             for (int i = 0; i <1000 ; i++) {
                 System.out.println(Thread.currentThread().getName()+i);
             }
         }, "----A线程");
         thread.start();
        for (int i = 0; i <1000 ; i++) {
            if (i==100){
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println(Thread.currentThread().getName()+i);
        }
    }
}
class Sub implements Runnable{
    public Sub() {
    }
    @Override
    public void run() {
        for (int i = 0; i <1000 ; i++) {
            System.out.println(Thread.currentThread().getName()+i);
        }
    }
}
